package com.ruoyi.productinfo.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 产品对象 product_info
 * 
 * @author ruoyi
 * @date 2025-05-14
 */
public class ProductInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增ID */
    private Long id;

    /** 页面唯一ID */
    @Excel(name = "页面唯一ID")
    private String uniqueId;

    /** 应用唯一ID */
    @Excel(name = "应用唯一ID")
    private String serUniqueId;

    /** 表单唯一ID */
    @Excel(name = "表单唯一ID")
    private String depUniqueId;

    /** 创建人ID */
    @Excel(name = "创建人ID")
    private String clientId;

    /** 创建人 */
    @Excel(name = "创建人")
    private Integer appType;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String currVersionUniqueId;

    /** 类型 */
    @Excel(name = "类型")
    private Integer type;

    /** 中文名称 */
    @Excel(name = "中文名称")
    private String cname;

    /** 英文名称 */
    @Excel(name = "英文名称")
    private String ename;

    /** 产品的页面资源路径 */
    @Excel(name = "产品的页面资源路径")
    private String resource;

    /** iconURL */
    @Excel(name = "iconURL")
    private String picUrl;

    /** 选中得icon */
    @Excel(name = "选中得icon")
    private String ckdPicUrl;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createNickName;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updateNickName;

    /** 1启用
2禁用 */
    @Excel(name = "1启用 2禁用")
    private Integer status;

    /** 产品描述 */
    @Excel(name = "产品描述")
    private String description;

    /** 产品拓展 */
    @Excel(name = "产品拓展")
    private String ext;

    /** 逻辑删除 
1正常 
0删除 */
    @Excel(name = "逻辑删除 1正常 0删除")
    private Integer deleteFlag;

    /** 调用次数阈值 */
    @Excel(name = "调用次数阈值")
    private Long callCountThreshold;

    /** 依赖方数阈值 */
    @Excel(name = "依赖方数阈值")
    private Long callerCountThreshold;

    /** 帮助文档url */
    @Excel(name = "帮助文档url")
    private String assistUrl;

    /** Paas服务回调url */
    @Excel(name = "Paas服务回调url")
    private String callbackUrl;

    /** 序号，用于排序，数字越小越靠前 */
    @Excel(name = "序号，用于排序，数字越小越靠前")
    private Integer sort;

    /** 是否为门户应用
1是门户应用
2不是门户应用
默认为2，不是门户应用 */
    @Excel(name = "是否为门户应用 1是门户应用 2不是门户应用 默认为2，不是门户应用")
    private Integer portalApplicationFlag;

    /** 问卷网址 */
    @Excel(name = "问卷网址")
    private String questionnaireUrl;

    /** 产品联系人 */
    @Excel(name = "产品联系人")
    private String appContacts;

    /** 组件唯一id（关联sdk/apk组件） */
    @Excel(name = "组件唯一id", readConverterExp = "关=联sdk/apk组件")
    private String cmptUniqueId;

    /** 源代码url */
    @Excel(name = "源代码url")
    private String sourceCode;

    /** sdk示例url */
    @Excel(name = "sdk示例url")
    private String sample;

    /** 是否为管理员专属（默认）
1不是
 2是 */
    @Excel(name = "是否为管理员专属", readConverterExp = "默=认")
    private Integer adminExclusive;

    /** 空间唯一id */
    @Excel(name = "空间唯一id")
    private String spaceUniqueId;

    /** 空间名称 */
    @Excel(name = "空间名称")
    private String spaceName;

    /** 产品版本，version &gt;= 1.0 的产品的 产品标签不会出现在网关 请求头中。 */
    @Excel(name = "产品版本，version &gt;= 1.0 的产品的 产品标签不会出现在网关 请求头中。")
    private String version;

    /** 可见范围 */
    @Excel(name = "可见范围")
    private Integer avaiLableRange;

    /** 导航菜单配置-方向 0 左边 1 顶部 */
    @Excel(name = "导航菜单配置-方向 0 左边 1 顶部")
    private Integer navigateDirection;

    /** 应用访问权限开关 1启用 2关闭 */
    @Excel(name = "应用访问权限开关 1启用 2关闭")
    private Integer prodPermissStatu;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setUniqueId(String uniqueId) 
    {
        this.uniqueId = uniqueId;
    }

    public String getUniqueId() 
    {
        return uniqueId;
    }

    public void setSerUniqueId(String serUniqueId) 
    {
        this.serUniqueId = serUniqueId;
    }

    public String getSerUniqueId() 
    {
        return serUniqueId;
    }

    public void setDepUniqueId(String depUniqueId) 
    {
        this.depUniqueId = depUniqueId;
    }

    public String getDepUniqueId() 
    {
        return depUniqueId;
    }

    public void setClientId(String clientId) 
    {
        this.clientId = clientId;
    }

    public String getClientId() 
    {
        return clientId;
    }

    public void setAppType(Integer appType) 
    {
        this.appType = appType;
    }

    public Integer getAppType() 
    {
        return appType;
    }

    public void setCurrVersionUniqueId(String currVersionUniqueId) 
    {
        this.currVersionUniqueId = currVersionUniqueId;
    }

    public String getCurrVersionUniqueId() 
    {
        return currVersionUniqueId;
    }

    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }

    public void setCname(String cname) 
    {
        this.cname = cname;
    }

    public String getCname() 
    {
        return cname;
    }

    public void setEname(String ename) 
    {
        this.ename = ename;
    }

    public String getEname() 
    {
        return ename;
    }

    public void setResource(String resource) 
    {
        this.resource = resource;
    }

    public String getResource() 
    {
        return resource;
    }

    public void setPicUrl(String picUrl) 
    {
        this.picUrl = picUrl;
    }

    public String getPicUrl() 
    {
        return picUrl;
    }

    public void setCkdPicUrl(String ckdPicUrl) 
    {
        this.ckdPicUrl = ckdPicUrl;
    }

    public String getCkdPicUrl() 
    {
        return ckdPicUrl;
    }

    public void setCreateNickName(String createNickName) 
    {
        this.createNickName = createNickName;
    }

    public String getCreateNickName() 
    {
        return createNickName;
    }

    public void setUpdateNickName(String updateNickName) 
    {
        this.updateNickName = updateNickName;
    }

    public String getUpdateNickName() 
    {
        return updateNickName;
    }

    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setExt(String ext) 
    {
        this.ext = ext;
    }

    public String getExt() 
    {
        return ext;
    }

    public void setDeleteFlag(Integer deleteFlag) 
    {
        this.deleteFlag = deleteFlag;
    }

    public Integer getDeleteFlag() 
    {
        return deleteFlag;
    }

    public void setCallCountThreshold(Long callCountThreshold) 
    {
        this.callCountThreshold = callCountThreshold;
    }

    public Long getCallCountThreshold() 
    {
        return callCountThreshold;
    }

    public void setCallerCountThreshold(Long callerCountThreshold) 
    {
        this.callerCountThreshold = callerCountThreshold;
    }

    public Long getCallerCountThreshold() 
    {
        return callerCountThreshold;
    }

    public void setAssistUrl(String assistUrl) 
    {
        this.assistUrl = assistUrl;
    }

    public String getAssistUrl() 
    {
        return assistUrl;
    }

    public void setCallbackUrl(String callbackUrl) 
    {
        this.callbackUrl = callbackUrl;
    }

    public String getCallbackUrl() 
    {
        return callbackUrl;
    }

    public void setSort(Integer sort) 
    {
        this.sort = sort;
    }

    public Integer getSort() 
    {
        return sort;
    }

    public void setPortalApplicationFlag(Integer portalApplicationFlag) 
    {
        this.portalApplicationFlag = portalApplicationFlag;
    }

    public Integer getPortalApplicationFlag() 
    {
        return portalApplicationFlag;
    }

    public void setQuestionnaireUrl(String questionnaireUrl) 
    {
        this.questionnaireUrl = questionnaireUrl;
    }

    public String getQuestionnaireUrl() 
    {
        return questionnaireUrl;
    }

    public void setAppContacts(String appContacts) 
    {
        this.appContacts = appContacts;
    }

    public String getAppContacts() 
    {
        return appContacts;
    }

    public void setCmptUniqueId(String cmptUniqueId) 
    {
        this.cmptUniqueId = cmptUniqueId;
    }

    public String getCmptUniqueId() 
    {
        return cmptUniqueId;
    }

    public void setSourceCode(String sourceCode) 
    {
        this.sourceCode = sourceCode;
    }

    public String getSourceCode() 
    {
        return sourceCode;
    }

    public void setSample(String sample) 
    {
        this.sample = sample;
    }

    public String getSample() 
    {
        return sample;
    }

    public void setAdminExclusive(Integer adminExclusive) 
    {
        this.adminExclusive = adminExclusive;
    }

    public Integer getAdminExclusive() 
    {
        return adminExclusive;
    }

    public void setSpaceUniqueId(String spaceUniqueId) 
    {
        this.spaceUniqueId = spaceUniqueId;
    }

    public String getSpaceUniqueId() 
    {
        return spaceUniqueId;
    }

    public void setSpaceName(String spaceName) 
    {
        this.spaceName = spaceName;
    }

    public String getSpaceName() 
    {
        return spaceName;
    }

    public void setVersion(String version) 
    {
        this.version = version;
    }

    public String getVersion() 
    {
        return version;
    }

    public void setAvaiLableRange(Integer avaiLableRange) 
    {
        this.avaiLableRange = avaiLableRange;
    }

    public Integer getAvaiLableRange() 
    {
        return avaiLableRange;
    }

    public void setNavigateDirection(Integer navigateDirection) 
    {
        this.navigateDirection = navigateDirection;
    }

    public Integer getNavigateDirection() 
    {
        return navigateDirection;
    }

    public void setProdPermissStatu(Integer prodPermissStatu) 
    {
        this.prodPermissStatu = prodPermissStatu;
    }

    public Integer getProdPermissStatu() 
    {
        return prodPermissStatu;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("uniqueId", getUniqueId())
            .append("serUniqueId", getSerUniqueId())
            .append("depUniqueId", getDepUniqueId())
            .append("clientId", getClientId())
            .append("appType", getAppType())
            .append("currVersionUniqueId", getCurrVersionUniqueId())
            .append("type", getType())
            .append("cname", getCname())
            .append("ename", getEname())
            .append("resource", getResource())
            .append("picUrl", getPicUrl())
            .append("ckdPicUrl", getCkdPicUrl())
            .append("createBy", getCreateBy())
            .append("createNickName", getCreateNickName())
            .append("createTime", getCreateTime())
            .append("updateNickName", getUpdateNickName())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("status", getStatus())
            .append("description", getDescription())
            .append("ext", getExt())
            .append("deleteFlag", getDeleteFlag())
            .append("callCountThreshold", getCallCountThreshold())
            .append("callerCountThreshold", getCallerCountThreshold())
            .append("assistUrl", getAssistUrl())
            .append("callbackUrl", getCallbackUrl())
            .append("sort", getSort())
            .append("portalApplicationFlag", getPortalApplicationFlag())
            .append("questionnaireUrl", getQuestionnaireUrl())
            .append("appContacts", getAppContacts())
            .append("cmptUniqueId", getCmptUniqueId())
            .append("sourceCode", getSourceCode())
            .append("sample", getSample())
            .append("adminExclusive", getAdminExclusive())
            .append("spaceUniqueId", getSpaceUniqueId())
            .append("spaceName", getSpaceName())
            .append("version", getVersion())
            .append("avaiLableRange", getAvaiLableRange())
            .append("navigateDirection", getNavigateDirection())
            .append("prodPermissStatu", getProdPermissStatu())
            .toString();
    }
}
